package com.guomei.controller.curse;

import javax.annotation.Resource;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestBody;

import com.guomei.bean.curse.domain.UserCourseJoin;
import com.guomei.bean.curse.vo.UserCourseJoinVo;
import com.guomei.service.curse.UserCourseJoinService;
import com.guomei.utils.PageData;
import com.guomei.utils.Result;

import lombok.extern.slf4j.Slf4j;

@RestController
@RequestMapping("/api1/userCourseJoin")
@Slf4j
public class UserCourseJoinController {
    @Resource
    private UserCourseJoinService userCourseJoinService;


    @PostMapping("/save")
    public Result<?> save(@RequestBody UserCourseJoin userCourseJoin) {
        return userCourseJoinService.saveOrUpdate(userCourseJoin) ? Result.success(userCourseJoin) : Result.fail("保存失败");
    }


    @PostMapping("/select")
    public Result<?> select(@RequestBody UserCourseJoin userCourseJoin) {
        try {
            log.info("分页查询用户课程学习记录: userId={}, courseId={}, pageNum={}, pageSize={}", 
                userCourseJoin.getUserId(), userCourseJoin.getCourseId(), 
                userCourseJoin.getPageNum(), userCourseJoin.getPageSize());
            
            PageData<UserCourseJoinVo> pageData = userCourseJoinService.selectPageWithCourse(userCourseJoin);
            return Result.success(pageData);
        } catch (Exception e) {
            log.error("分页查询用户课程学习记录失败", e);
            return Result.fail("查询失败: " + e.getMessage());
        }
    }
    
}
